View Javadoc
1 /* 2 * Scope: a generic MVC framework. 3 * Copyright (c) 2000-2002, The Scope team 4 * All rights reserved. 5 * 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions 9 * are met: 10 * 11 * Redistributions of source code must retain the above copyright 12 * notice, this list of conditions and the following disclaimer. 13 * 14 * Redistributions in binary form must reproduce the above copyright 15 * notice, this list of conditions and the following disclaimer in the 16 * documentation and/or other materials provided with the distribution. 17 * 18 * Neither the name "Scope" nor the names of its contributors 19 * may be used to endorse or promote products derived from this software 20 * without specific prior written permission. 21 * 22 * 23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 24 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 25 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 26 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR 27 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 28 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 29 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 30 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 31 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 32 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 33 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34 * 35 * 36 * $Id: DateTimeStringConvertor.java,v 1.5 2002/09/05 15:41:46 ludovicc Exp $ 37 */ 38 package org.scopemvc.util.convertor; 39 40 import java.io.Serializable; 41 42 import java.text.DateFormat; 43 import java.text.ParseException; 44 45 /*** 46 * String convertor for type {@link org.scopemvc.util.DateTime} or <code>java.util.Date</code> 47 * . Both date and time parts of <code>Date</code> instances are used. <p> 48 * 49 * It uses one <code>java.text.DateFormat DateFormat</code> for converting into 50 * <code>String</code> and an array of <code>DateFormat</code>s for parsing. 51 * Parsing formats are successively used to try to parse until one is 52 * successful. </p> <p> 53 * 54 * Formats are picked up from config (see {@link 55 * org.scopemvc.util.DefaultScopeConfig} for details) or if none in config, the 56 * default formatter is: <pre> 57 * DateFormat.getDateTimeInstance() 58 * </pre> and default parsers are: <pre> 59 * DateFormat.getDateTimeInstance((FULL|LONG|MEDIUM|SHORT), 60 * (FULL|LONG|MEDIUM|SHORT)); 61 * </pre> <i>Note:</i> the default parsing set is initialized during class 62 * loading and based on default platform locale. If application uses other 63 * locales, there will be need to set parsing objects explicitly. 64 * 65 * @author <A HREF="mailto:danmi@users.sourceforge.net">Daniel Michalik</A> 66 * @author <A HREF="mailto:smeyfroi@users.sourceforge.net">Steve Meyfroidt</A> 67 * @created 05 September 2002 68 * @version $Revision: 1.5 $ $Date: 2002/09/05 15:41:46 $ 69 * @see DateStringConvertor 70 * @see TimeStringConvertor 71 */ 72 public class DateTimeStringConvertor extends DateStringConvertor { 73 74 // ------------- Defaults if no config specified ---------------- 75 private final static DateFormat defaultParsers[] = new DateFormat[16]; 76 static { 77 defaultParsers[15] = DateFormat.getDateTimeInstance( 78 DateFormat.SHORT, DateFormat.SHORT); 79 defaultParsers[14] = DateFormat.getDateTimeInstance( 80 DateFormat.SHORT, DateFormat.MEDIUM); 81 defaultParsers[13] = DateFormat.getDateTimeInstance( 82 DateFormat.SHORT, DateFormat.LONG); 83 defaultParsers[12] = DateFormat.getDateTimeInstance( 84 DateFormat.SHORT, DateFormat.FULL); 85 86 defaultParsers[11] = DateFormat.getDateTimeInstance( 87 DateFormat.MEDIUM, DateFormat.SHORT); 88 defaultParsers[10] = DateFormat.getDateTimeInstance( 89 DateFormat.MEDIUM, DateFormat.MEDIUM); 90 defaultParsers[9] = DateFormat.getDateTimeInstance( 91 DateFormat.MEDIUM, DateFormat.LONG); 92 defaultParsers[8] = DateFormat.getDateTimeInstance( 93 DateFormat.MEDIUM, DateFormat.FULL); 94 95 defaultParsers[7] = DateFormat.getDateTimeInstance( 96 DateFormat.LONG, DateFormat.SHORT); 97 defaultParsers[6] = DateFormat.getDateTimeInstance( 98 DateFormat.LONG, DateFormat.MEDIUM); 99 defaultParsers[5] = DateFormat.getDateTimeInstance( 100 DateFormat.LONG, DateFormat.LONG); 101 defaultParsers[4] = DateFormat.getDateTimeInstance( 102 DateFormat.LONG, DateFormat.FULL); 103 104 defaultParsers[3] = DateFormat.getDateTimeInstance( 105 DateFormat.FULL, DateFormat.SHORT); 106 defaultParsers[2] = DateFormat.getDateTimeInstance( 107 DateFormat.FULL, DateFormat.MEDIUM); 108 defaultParsers[1] = DateFormat.getDateTimeInstance( 109 DateFormat.FULL, DateFormat.LONG); 110 defaultParsers[0] = DateFormat.getDateTimeInstance( 111 DateFormat.FULL, DateFormat.FULL); 112 } 113 114 // ------------------------------------------------------------------ 115 116 /*** 117 * Creates new TimeStringConvertor. If formats and parsers are specified in 118 * config then use those else use current locale default format and platform 119 * locale default parsers. 120 */ 121 public DateTimeStringConvertor() { 122 super(); 123 } 124 125 126 /*** 127 * Creates new DateTimeStringConvertor with specified formatter and parsers. 128 * 129 * @param inFormatter TODO: Describe the Parameter 130 * @param inParsers TODO: Describe the Parameter 131 */ 132 public DateTimeStringConvertor(DateFormat inFormatter, DateFormat inParsers[]) { 133 super(inFormatter, inParsers); 134 } 135 136 137 /*** 138 * Gets the default parsers 139 * 140 * @return The defaultParsers value 141 */ 142 protected DateFormat[] getDefaultParsers() { 143 return DateTimeStringConvertor.defaultParsers; 144 } 145 } 146

This page was automatically generated by Maven